using System.Collections.Generic;

namespace NHibernateMappingSample.Entities
{
	// data object class Customer generated from Customer
	// shvadskd [2008-10-20] Created

	using System;

	public  class Customer 
	{

		#region Property_Names

		public static string Prop_CustomerID = "CustomerID";
		public static string Prop_NameStyle = "NameStyle";
		public static string Prop_Title = "Title";
		public static string Prop_FirstName = "FirstName";
		public static string Prop_MiddleName = "MiddleName";
		public static string Prop_LastName = "LastName";
		public static string Prop_Suffix = "Suffix";
		public static string Prop_CompanyName = "CompanyName";
		public static string Prop_SalesPerson = "SalesPerson";
		public static string Prop_EmailAddress = "EmailAddress";
		public static string Prop_Phone = "Phone";
		public static string Prop_PasswordHash = "PasswordHash";
		public static string Prop_PasswordSalt = "PasswordSalt";
		public static string Prop_rowguid = "rowguid";
		public static string Prop_ModifiedDate = "ModifiedDate";

		#endregion

		#region Constructors

		public Customer()
		{
		}

		public Customer(
			int p_customerid,
			bool p_nameStyle,
			string p_title,
			string p_firstName,
			string p_middleName,
			string p_lastName,
			string p_suffix,
			string p_companyName,
			string p_salesPerson,
			string p_emailAddress,
			string p_phone,
			string p_passwordHash,
			string p_passwordSalt,
			byte[] p_rowguid,
			DateTime p_modifiedDate)
		{
			CustomerID = p_customerid;
			NameStyle = p_nameStyle;
			Title = p_title;
			FirstName = p_firstName;
			MiddleName = p_middleName;
			LastName = p_lastName;
			Suffix = p_suffix;
			CompanyName = p_companyName;
			SalesPerson = p_salesPerson;
			EmailAddress = p_emailAddress;
			Phone = p_phone;
			PasswordHash = p_passwordHash;
			PasswordSalt = p_passwordSalt;
			rowguid = p_rowguid;
			ModifiedDate = p_modifiedDate;
		}

		#endregion

		#region Properties

		public virtual int CustomerID
		{
			get; set;
		}
		public virtual bool NameStyle
		{
			get; set;
		}
		public virtual string Title
		{
			get; set;
		}
		public virtual string FirstName
		{
			get; set;
		}
		public virtual string MiddleName
		{
			get; set;
		}
		public virtual string LastName
		{
			get; set;
		}
		public virtual string Suffix
		{
			get; set;
		}
		public virtual string CompanyName
		{
			get; set;
		}
		public virtual string SalesPerson
		{
			get; set;
		}
		public virtual string EmailAddress
		{
			get; set;
		}
		public virtual string Phone
		{
			get; set;
		}
		public virtual string PasswordHash
		{
			get; set;
		}
		public virtual string PasswordSalt
		{
			get; set;
		}
		public virtual byte[] rowguid
		{
			get; set;
		}
		public virtual DateTime ModifiedDate
		{
			get; set;
		}

      public virtual IList<Address> Addresses
      {
         get; set;
      }
      public virtual IList<SalesOrderHeader> Orders
      {
         get; set;
      }
		#endregion
	} // Customer
}

